/*
 * AttackType.cpp
 *
 *  Created on: Oct 8, 2011
 *  Created by: Devin Manno
 *  Updated by: Devin Manno,
 *	Last Update: Oct 19, 2011
 */

#include "AttackType.h"
const int maxDamage = 10;

// AttackType
// Generates an empty attack
AttackType::AttackType(){
	description = "None";
	baseDamage = 0;
	actionPointsCost = 0;
}

AttackType::AttackType(string name, int bDamage, int apCost){
	description = name;
	baseDamage = bDamage;
	actionPointsCost = apCost;
}

AttackType::~AttackType() {
	// TODO Auto-generated destructor stub
}

// getters
int AttackType::getBaseDamage()const {
	return baseDamage;
}


int AttackType::getActionPointsCost()const{
	return actionPointsCost;
}


// setters
void AttackType::setBaseDamage(int newDmg){
	baseDamage = newDmg;
}


void AttackType::setActionPointsCost(int newAPCost){
	actionPointsCost = newAPCost;
}

void AttackType::setDesc(std::string desc){
	description = desc;
}
/*
 * generateAttack
 * Description: Creates attacks for room object based on players experience, stats, 
 * 		and action points. Currently just creates generic attacks to get idea 
 * Pre: play is Player we are creating attack for
 * Post: Player's 
 * Returns: bool that indicates whether or not new abilities were unlocked
 */
/*
void AttackType::generateAttack(const Player& play){
	vector<string> attack;

	// following attacks are place holders
	attack.push_back("Ice Ball");	
	attack.push_back("Freeze");	
	attack.push_back("Fire Ball");	

	srand(time(NULL));
	int selector = rand() % attack.size();
	description = attack[selector];

	baseDamage = rand()%maxDamage;
	actionPointsCost = 100;
}
*/
